can you add subdivision surface modifiers to specific vertex groups i want to make parts of my model seem more smooth but others i want to stay flat.
No, you can't use Vertex Groups for Subdivision Surface modifier. 

What you can do is select region you want to have smoother and use W > Subdivide Smooth.

Be aware that this method will create ngons and/or tris (when Quad/Tri Mode is checked).