Perfect, locally free groups exist. Such a thing has vanishing $H_1(G,\mathbb Z)$, has $H_p(G,M)=0$ for all $p\geq2$ and all $M$, and is not free.

A. J. Berrick constructs an explicit example [here](http://www.math.nus.edu.sg/~matberic/ch1.ps). If you prefer an example where $H_1(G,\mathbb Z)$ is free and *non-zero*, just consider the free product of a perfect, locally free group with a non-trivial free group.