Ben's answer is essentially correct, modulo his invented word "contragradiant""contragradient" (which like "indeterminant" I've been trying to stamp out, without success). Of course, the definition shows that all modules in the category are finitely generated, so the problem involves generation by highest weight vectors.
Maybe I should comment further on the simplest counterexample, which occurs already in rank 1. It takes a while to build up complicated examples in category $\mathcal{O}$, since I only introduce the BGG duality in Chapter 3. While the Lie algebra acts naturally on the usual vector space dual of a module, this dual is usually too big to lie in $\mathcal{O}$, so as Ben suggests there is a more restrictive notion of duality; this stays in the caegory and preserves the formal characters.
For the rank 1 simple Lie algebra, integral weights may be identified with ordinary integers. In particular, you get a Verma module $M(0)$ with only two composition factors: $L(0)$ is the one-dimensional module at the top, while $L(-2) = M(-2)$ is the unique maximal submodule. Of course, any Verma module is generated by a highest weight vector. But the BGG dual $M(0)^\vee$ has the same two composition factors in reverse order and in particular can't be generated by highest weight vectors since $-2$ isn't a highest weight vector here (see the discussion of Hom in my section 3.3).
In higher ranks you start to run into more sophisticated examples where the maximal submodule of a (non-dominant) Verma module is itself not generated by its highest weight vectors. Indeed, a Verma module might have infinitely many distinct submodules. This was first appreciated by BGG and Conze-Duflo, but is best understood via the later Kazhdan-Lusztig theory.