There are many overlapping procedures in SAS. If all you want to do is fit a negative binomial model, any of those should be fine. Differences arise in that each of those procedures has additional abilities. For example, proc genmod has flexible residual correlation structures, proc countreg offers bounds and constraint options, proc fmm fits finite mixture models, which are a very flexible class of models but it has less post estimation capacities built in.
If a procedure does everything you want, there is probably little reason to use a different one. However if it does not or it is difficult, there may be. For example proc genmod has an estimate statement whereas proc countreg does not, although one could still get estimates by output the parameter estimates and computing them manually.