The existence of invariant volume form for a vector field $X$ is cohomological problem, i.e. one has to solve a cohomological equation to guarantee the existence of such a form.
In fact, if $\Omega_0$ denotes an arbitrary volume form, one defines the $\Omega_0$-divergence of $X$ as the function $\mathrm{div} X\colon M\to\mathbb{R}$ such that $\mathcal{L}_X\Omega_0 = (\mathrm{div} X)\Omega_0$, where $\mathcal{L}_X$ denotes the Lie derivative. Then, if one considers a function $u\colon M\to\mathrm{R}$ and the volume form $\Omega := e^{-u}\Omega_0$, one can show that $\Omega$ is $X$-invariant if and only if
$$Xu = \mathrm{div}X.$$
So, in order the existence of an invariant volume form is equivalent to prove the existence of a solution $u$ for this PDE, and there is no general theory to study such equations.
As you mention above, there is some clear obstruction to solve such an equation, but in general we don't know how to characterize all of them. In some particular cases, for instance when the vector field induces an Anosov flow, we know that periodic orbits are all the obstructions to solve any (sufficiently smooth) cohomological equation, and so, such a vector field admits an invariant volume form if an only if the integral of $\mathrm{div} X$ on every periodic orbit is equal to zero. This is the so called Livsic theorem.
A very good survey about cohomological equations is the following one by A. Katok and E. Robinson: http://www.personal.psu.edu/axk29/pub/KR.pdf