I want to tag a protein molecule with a dummy hard sphere containing some charge or a point dipole instead of that sphere. I don't know if it can be done in GROMACS / NAMD packages.
One way to do that would be to introduce a modified residue in the .rtp database in Gromacs files, prior to running pdb2gmx - after copying and renaming the residue you can add an atom, specify its charge and type and add a bond to any existing atom in that residue. (Note that you might need to edit several additional files, including .hdb and ffbonded.itp if you introduce a novel dummy type - this might be laborious, but offers the most flexibility.)
Another way is to use the pull code (see the Gromacs manual) to restrain the distance between an ion (or a dipole) and any desired group of atoms in your protein. It would be slightly harder, however, to restrain e.g. the orientation of the dipole (PLUMED might come in handy if the problem is relevant to your case).
The simplest approach would probably be to just edit the topology and add the charge to an existing atom in your protein. Here, though, a large charge might locally distort the geometry, especially if the modified atom has a small vdW radius.
It's hard to recommend any specific approach without knowing what your specific research question is, but at least one of these might do the job.