RandomVariate[NormalDistribution[], {r, r}] does not give you normalized eigenvectors. To obtain an orthonormal basis, you can first generate a random matrix, and then apply OrthogonalizeOrthogonalize to it. Following is the correct code.
r=4;(*matrix dimension*) dom={1,10};(*domain of random numbers*) eig=DiagonalMatrix[-RandomInteger[dom,r]] (*eigenvalues in diagonal matrix*) v=Orthogonalize@RandomVariate[NormalDistribution[], {r, r}](*orthonormal eigenvectors*) A=Transpose[v].eig.v Eigenvalues[A]