Yes, I've seen this one before. Assuming exactly one penny is allowed to be placed per turn:
Go first and place a penny in the dead center of the table. From then on, any move your opponent makes, place a penny in the mirror opposite location (i.e. rotated 180 degrees). It stands to reason that if your opponent's move was valid, yours will be too. Hence, you will always have an available move if your opponent does. Since the table is only finitely large, there can only be finitely many turns, hence you will eventually win.
A more complete proof:
Suppose the table is described using polar coordinates with the center of the table as the origin ($r=0$).
My first move is to place at $r=0$. When my opponent makes a legal move at $(r,\theta)$ I attempt to place a coin at $(r,\theta+180^\circ)$.
Claim: I am always allowed to do so and such a move will always be valid.
Proof: Suppose otherwise. Then that implies that either the target location is not on the table (in which case my opponent's previous move will also have not been on the table and therefore was also invalid), or that target location would have a coin overlap with another previously placed coin. As it could not have been the coin that my opponent has just placed on his last turn (as it is $180^\circ$ away), that implies that those coins must have been placed previously. However... since my moves are always playing $180^\circ$ away from my opponent, that implies that there should be the same situation on the other side of the table and that my opponents coin also is overlapping the corresponding mirrored coins and therefore my opponents move was invalid. Either way, we reach a contradiction implying that if my opponents move was valid that my move is also guaranteed to be valid too.