Corollary 10.27 in Jeffrey Lee's book "Manifolds and Differential Geometry" states that
If $M$ is a connected oriented $n$-manifold with finite good cover, then $H^n_c (M) \simeq \mathbb{R}$. This isomorphism is given by integration over $M$.
It is consequence of Poincare Duality $$PD:H^k(M)\to (H^{n-k}_c(M))^*,$$ but im failing to see how it follows.
For $k=0$ we have $PD:H^0(M)\to (H^{n}_c(M))^*$. The "integration over M"-map, let's call it $\Phi$, is $[\omega]\mapsto \int_M\omega$ an element of $(H^{n}_c(M))^*$. Hence we can see $PD(1)=\Phi$. But why is it an isomorphism?
Assuming you know that $\Phi \neq 0$ you can see it formally using the fact that $H^{k}(M)$ is a vector space and not just an abelian group, so it has some nice behaviour. In particular since $H^0(M) \cong \mathbb{R}$ (recall $M$ is connected) Poincare duality gives an isomorphism $(H^n_c(M))^* \cong \mathbb{R}$, and it is generated as a vector space by $\Phi$. It follows that $H^n_c(M)$ is also abstractly isomorphic to $\mathbb{R}$ since $dim(V^*) = dim (V)$, and then $\Phi \colon H^n_c(M) \to \mathbb{R}$ is a non-zero linear transformation between one-dimensional vector spaces so it is an isomorphism.