I know we don't get shock when we touch earth because we don't have anything to pass current to. What about when we touch 0 volts?
You are touching something that has OV and the Earth which again has 0V.
No potential difference there.So why should you have a current through you?There is no electric field to drive charges through you.
Electricity will only flow if there is a difference of voltage. If the earth, the object, and your body are all at the same voltage (lets call it zero volts) then there is no difference in voltage and hence no electrical current.
In brief: No. But to be safe you need a better appreciation than the wording of your question suggests.
Numbers can be arbitrary
Touching a point labelled 0V might kill you.
Touching a point labelled 1000V might not - if no part of you is in contact with anything that isn't also also labelled 1000V, using a common reference point.
From the perspective of a physicist, what part of a circuit you label as 0V is completely arbitrary. You could label any part 0V or add an arbitrary constant and it would make no significant difference to the calculations you might perform. A US physicist might label the neutral wire in his socket "1000000 V" and his hot wire "1000120 V" and still be able to calculate current flowing through a 500 Ohm load. Electricians have a different perspective but they'd calculate the same current.
Voltages are always a difference of electric potential between two points not an absolute value. Another way of saying this is that a voltage is only meaningful with reference to some reference-point. This is why voltmeters have two probes. The meter shows the electric potential at the red probe with respect to the black probe (i.e. the potential difference between them).
Neutral and ground
In household electrics it is usual to tie one part of the electric circuit (traditionally labelled "neutral") to the nearby surface of the planet, for example by driving a metal rod into the earth (hence electrical "earth" label) - that is into the ground (hence electrical "ground" label). A separate safety wire, labelled† earth or ground runs from this common earthed point through household wiring to sockets, light-fittings and appliances.
ground, neutral and live
This means that in a typical household socket there are typically three conductors: ground, neutral and live. Note that depending on where you live, ground may be called earth and live may be called hot.
live or hot
The voltage of the live conductor is always expressed relative to the neutral conductor. In households this is generally an AC voltage but that doesn't affect the substance of this reply. An AC voltage will be varying continuously and passes through 0 volts many times each second. This is a transient state that we will ignore. From the perspective of typical accidental or deliberate human contact, The live conductor is to be regarded as having a high voltage on it.
In a non-faulty installation, the neutral and earth wires should be at the same potential - either can be said to be at 0 volts with respect to the other. However it is not unusual to measure a small voltage difference, sometimes described as a phantom voltage. This is partly because the conductors, and especially any intervening connections, have a non-zero resistance.
There can also exist fault conditions. The link between neutral and may become disconnected. In this case there can be a large potential difference (i.e. voltage) between the neutral and earth wires in, say, a socket. In this case, even though you might (mentally) label the neutral wire as 0V, there are circumstances where a current can flow through you if you hold the neutral wire while with another part of your body is touching a conductor connected to earth.
† not literally, but known as, talked of as.