Apply force to a specific point
You are looking for applyImpulse.

applyImpulse(point, impulse, local=False)
Applies an impulse to the game object.
This will apply the specified impulse to the game object at the specified point. If point != position, applyImpulse will also change the object’s angular momentum. Otherwise, only linear momentum will change.