In a competitive equilibrium, can price of a commodity ever be zero? I don't think they can be, but I'm not very sure. Are their special cases where the equilibrium is competitive even when prices are zero?
It depends on the assumptions you make.

If you assume that preferences are locally insatiable then no.

Without this assumption, it is easy to construct counterexamples.  Consider an economy with two consumers ($A,B$) and two goods ($x,y$). Both consumers have preferences represented by their utility function
$$
U_i(x_i,y_i) = \min(x_i,1) + y_i.
$$ 
If the initial endowments are such that the total supply of $x$ is larger than 2 then the equilibrium price of $x$ is 0. (The numeraire is the good $y$.)