Origin of an object can be shifted to any point on the object or outside it.
TO SHIFT ORIGIN OF AN OBJECT TO ANY POINT ON THE OBJECT
Follow the steps given below:
1 Select the object and go to edit mode by pressing Tab key.
2. If all the vertices are selected, press "A" key to de select all vertices.
3. Click on the desired vertex on which the Origin needs to be positioned and go to Mesh-> Snap->Cursor to selection.
4. Press Tab key to go to object mode. Now press Object->Transform-> Origin to 3D Cursor.
TO SHIFT ORIGIN OF AN OBJECT TO ANY POINT OUTSIDE THE OBJECT.
1. Let us consider a Cube for this example.
2. Select Cube and press Tab key to go to Edit mode.
3. Select all the vertices, including the ones hidden from your direct view.
4. Assume that we want the Origin to be 3 Blender units away from the geometric Centre of the cubes. Press G-> X-> 3 and hit Enter key.