Luis Nunez, 28, allegedly sprayed they cop at the 170th Street stop on the No. 4 line after pretending he was an officer so he could ride the train for free.
The incident happened Wednesday morning just after 10 a.m.
As the officer was interviewing the token booth clerk, Nunez was spotted on the platform.
The officer questioned him, and police say Nunez showed a forged ID card and shield.
When the officer went to place Nunez under arrest, he allegedly sprayed the officer and fled up the stairs.
The officer was treated for the irritant and released.
Nunez was later arrested, and he is charged with assaulting a police officer, possession of forged instrument, criminal impersonation, criminal possession of a weapon, intent/fraud obtain transportation without pay, resisting arrest and criminal trespass.