This is a technical point that doesn't get a lot of attention--presumably because it doesn't come up that often. It's discussed by
John Baez in an old sci.physics.research Usenet group.
https://groups.google.com/forum/#!topic/sci.physics.research/aiMUJrOjE8A[151-175]
What Baez says, if I'm paraphrasing correctly, is that to integrate over a manifold, what you need is not a form, but a
pseudo-form. Pseudo-forms are analogous to pseudo-scalars. A pseudo-scalar behaves like a scalar, for most purposes, but acquires an extra minus sign under a parity inversion.
Here's what I think is the simplest example illustrating the point:
Suppose we have a little section of a 1-D manifold, and we have a scalar function \phi, and we'd like to integrate \phi over that manifold. Well, to get a number out of it, we have to choose a coordinate system, which for 1-D might as well be the coordinate x. So we pick a coordinate system in which x goes from 0 to 1, and we can integrate as follows:
I = \int_0^1 \phi(x) dx
But what if you had instead chosen a different coordinate system y = -x? Then the integral \int_0^1 \phi(y) dy would given the negative result. So to get a unique answer that is coordinate-independent, instead of using a form dx, you should use a pseudo-form |dx|.
You can integrate a pseudo-form over a non-orientable manifold.
To quote Wikipedia here:
https://en.wikipedia.org/wiki/Differential_form