The dual module of a finitely generated module is reflexive, that is, $M^{**}=M$, and reflexives are awfully close to projectives. Specifically, if $R$ is a Noetherian domain, then a module is projective if $Ext^i(M,D)=0$ for all $i>0$, and its reflexive if $Ext^i(M,D)=0$ for $i=1,2$.
It is also worth noting that every reflexive is the dual of some module, specifically of $M^*$. Therefore, your question amounts to "for what rings is every reflexive module free?" In this light, its very similar to the question of when every projective module is free.
From the above Ext criterion, its clear that if the global dimension of $R$ is less than or equal to 2, that being reflexive is the same as being projective. I would go so far as to conjecture the converse is true: that if gldim of R is 3 or more, that there is a non-projective module which is reflexive (and hence it is non-free).
If this conjecture is true, then the answer to your question is "rings with global dimension 2 or less, such that every projective is free". Of course, its not immediately clear what these are, but its a start.