It could be the starter or starter solenoid causing the problem but you should check some other things first. I would first clean the battery connections using a battery cleaning brush. Bad connections there are the most common source of this kind of trouble. The problem may also be with the neutral safety switch. Try starting the car with the shifter in neutral if this happens again. If that works then the switch may need to be readjusted or replaced.
The starter may need to be replaced and it may cost a few hundred dollars to have that done. Since your cars age is at a point that could mean the starter solenoid contacts are worn out that may the problem. The problem area should be verified first before replacing things. This may be a little difficult if the trouble is intermittent. My order of most likely suspects are: battery connections, starter solenoid, neutral safety switch.