How can I set the object origin for an armature?
In the Edit mode, the pose set in an armature is ignored.  Because in your case the object is translated in an unwanted way in the Object mode but not in the Edit mode, it is possible that you have accidentally set a pose which translates the whole object.

To clear the translation of a pose, do the following.


Select the armature and enter the Pose mode.
Select a bone you want to reset the translation of (or select all bones by using shortcut A if you want).
Press Alt+G (the shortcut for Pose > Clear Transform > Location).




In response to your comment, here is how to clear the keyframes for the bone translation (that is, remove the animation data of the bone location from all frames).


Select the armature and enter the Pose mode.
Select the bone, and open the Bone tab in the Properties window.
Right-click any of the three coordinates in Location, and select Clear Keyframes.


After clearing the keyframes, you can use Alt+G to clear the translation.

However, because this works for only one bone, if you want to do this for many bones, you have to repeat steps 2 and 3 many times.  Maybe there is a better way.