Is it possible to project an object onto another object's surface?
Use the shrinkwrap constraint.

Select the target object.

The original object's origin will move to the surface of the target object.