Subdivision Surface Modifier destroys certain faces
I think you will find the reason for this, is that the vertices are not actually attached. In edit mode, go to vertex selection mode, and press spacebar, type "remove doubles" and click the remove doubles operator.

If that does not work out, do what you can to investigate where vertices do not actually connect.

Also keep in mind that subdivision modifier works best with quads. You may want to do your best to convert those triangle faces to quad faces.