Are you sure that you are using the correct order of operation on your matrix'? Open gl uses a left handed coordinate system, so you have to do your matrix multiplication as Projection * View * Translation * Scaling * Rotation.
But, if it works, then keep going.
Onto your question.
There are many ways.. The first one that comes to mind is you can transform the vertex by the ModelViewProjection, then make sure to divide the vertex by its w component and then make sure all the components of the vertex are greater than or equal to -1 AND less than or equal to 1. If its true, then the vertex is within the cameras viewing bounds;
Code:
bool InCamerasBounds(Vertex testpoint){
testpoint*=ModelViewProjection;// transform the point
testpoint.x/=testpoint.w;
testpoint.y/=testpoint.w;
testpoint.z/=testpoint.w;
if((testpoint.x <-1.0) | (testpoint.x >1)) return false;// outside the frustum
if((testpoint.y <-1.0) | (testpoint.y >1)) return false;// outside the frustum
// the z tests for 0 and positive 1
if((testpoint.z <0.0) | (testpoint.z >1)) return false;// outside the frustum
return true;// inside the frustum
}