You can use charmm patch SP2 (dianionic phosphate), found in toppar_prot_na_all.str (http://mackerell.umaryland.edu/charmm_ff.shtml) to convert any residue with an -OH group into a phospho- derivative.
NAMD gives a short tutorial (http://www.ks.uiuc.edu/Training/Tutorials/namd/namd-tutorial-unix-html/node24.html) on using patches found in topology files.
Use CHARMM-GUI (www.charmm-gui.org) and it will prepare a topology with any patch available in CHARMM, as well as providing you with input files suitable for CHARMM, NAMD, GROMACS, etc.
I have faced the same needs for the project I currently working on. I have found a useful tutorial on YouTube for mutating a Serine to a phosphoresce using VMD. Here is the link below ("Mutating a Serine to phosphoserine in VMD). In addition, Troy Messina has a website on which you can find the powerpoint of the tutorial. The publication referenced can also be useful in first intention.
It's a good starting point however, in the following videos presented there are few things I have changed to be able to be able to smoothly run the simulation on VMD.
Otherwise there is also Vienna-PTM http://vienna-ptm.univie.ac.at
But I've never been able to figure out how it works properly, since whenever I tried to run a simulation I get a bunch of errors.
What kind of problems did you experience with Vienna-PTM? For now, we only support GROMOS force fields 45A3 and 54A7 - but in case you need just the initial starting coordinates, it might be also useful in this case.
PS: I know, that the installation of the parameter files in GROMACS can be tricky (depending on the version, you need to place the .atp file at the proper location and such).
I guess this topic is kind of outdated. However, for (finally!) answering your question, the problem I ran into occurred in the very first stage: when using "pdb2gmx", this was consistently showing me an error concerning the OTX atom of some residues. By copying and pasting the phosphor-residues in the original list it partially solved the problem, since after starting over 2 or 3 times (i.e, deleting GROMACS, installing, and replacing .atp file at the proper location), nothing changed.
I have now finished my work on it, which seems to have interested many members of the jury during my PhD presentation. I would like to take it further, out of curiosity and compare the results I have obtained with NAMD, with those I can obtain with GROMACS. Maybe doing screenshots at the various stages of the process could help understanding new users how to use the PTM tool.
A problem I've consistently ran into when getting familiar with these is that manuals are written as it makes sense to everyone, which is does not necessarily do. That's why a little explanation video or even just screenshots could be very helpful.