There is no "best" - it depends on what you would prefer to do. As far as specialties:
Family NP - Generalist, can essentially be trained to do any outpatient (and occasionally inpatient, though less common) from Cardiology to Dermatology.
Psychiatric NP - Limited to psych, both inpatient and outpatient. Highly marketable and very unpopular specialty, so tends to have higher salaries and less job competition.
Acute Care NP - This is for hospital based positions, learn more about treating ICU/emergency patients, but huge limitation is that you can't see those under 18.
Pediatric NP - for those under 18, usually works both inpatient hospital and outpatient pediatrics practice
Women's Health NP - Usually works in gyno office. Good if you want to work with women's health but no necessarily pregnancy related, as that falls in the realm of a midwife.
I think that's all of them, but you can be sub specialized by different boards based on what you do, especially as an FNP. In addition, you can sometimes find interesting combo programs where you hold two different certifications. For example, an Acute Care and Family NP combo is common, and usually called an "emergency NP" program as it allows you to see all ages due to the family NP, but also have emergency training from the acute program. For surgery, you will find combo programs of FNP with RNFA (first assist) allowing you to become a surgical nurse practitioner and assist in surgery.