On a normal variety, pushing forward a line bundle from the non-singular locus gives you a reflexive sheaf which is essentially the same as taking a Weil divisor representative of your original line bundle and take the Zariski closure of all the component components keeping the same coefficients. So, what you get is (the sheaf version of) a Weil divisor.
In other words, only assuming that your variety is normal, you get that the push forward of a line bundle (i.e., the sheaf version of a Cartier divisor) is a reflexive sheaf of rank 1 (i.e., the sheaf version of a Weil divisor (on a normal variety at least)).
The condition you want/need is that every Weil divisor be Cartier. As Karl said, this is exactly the condition of being factorial.

