I can prove when a Hamiltonian commute with the partity operator if the potential is even. But what about an odd potential? my understanding is that the parity operator mirrors the coordinate system, therefore the energy should be invariant under such transformation even if the potential is odd. Maybe not, but why the energy should change under this change of coordinates?
If the parity operator commuted with the Hamiltonian, you'd be able to simultaneously diagonalize the parity operator and the Hamiltonian. That would mean you could find a complete set of eigenstates of the Hamiltonian that were also eigenstates of the parity operator. The eigenstates of the parity operator are just even/odd functions, but odd potentials certainly don't have even or odd eigenstates. Imagine a potential $V(x)=x^3$. Then ALL the eigenstates decay exponentially as $x\rightarrow\infty$, and oscillate in the limit $x\rightarrow -\infty$, so they can't be even OR odd.