Automatic Button Pushing Device Hardware
Accurate to a millisecond?  Probably not, and for several reasons:

First the polling loop of whatever you're trying to control is probably nowhere near that fast.  If you're looking at a typical keyboard, the controller may check each key maybe 25 times per second, nowhere near 1000 times.

Second, variation in the distance from the actuator to the button can give several milliseconds of inaccuracy: if at one time it has to travel 0.5 inches and another time, it has to travel 0.6, even though there's only a tenth of an inch difference, that's still 20% further it would have to travel.

Third, the button itself may not switch consistently enough for millisecond accuracy.  

If you're trying to beat the arcade game I'm thinking of, with a ring of light bulbs that shows a circling "pulse" of light and the objective is to hit the button when the pulse is in a target zone, this wouldn't require the millisecond accuracy.  You would need to account for a number of factors which would affect "scoring":

The length of time required from the time the microcontroller says 'go' until the actuator has traveled its distance.  This is on the order of 1/10th second.

The length of time for the game's controller to trigger the leading edge light bulb and that bulb to fully light up (if they're using LED's that's almost instantaneous, but light bulbs would be slower).

The "dwell"--how long the light pulse is in the target zone.  You won't want to hit the button too early, so the ideal is to hit it when it's halfway through.

All these timing factors would need to be taken into account with your design.

I'd recommend using a solenoid, since it will take less time to travel the required distance and will make the mechanism simpler.  You'll need a driver circuit to feed the required current through it when the controller commands.

Remember to cut me in for a share of the prizes!