The OBJ format can actually have faces that consist of 4 verts or quads. A face can consist of only vertex data so the absence of texture coordinates or normals is just fine, it's just there is no way to light or texture that particular face. Face data can be combines in an OBJ file as well, you can find 3 vert face data and 4 vert face data in the same face description list in an obj file, or at least I have encountered this before.
Most engines use their own formats to load meshes, and often this is just a straight dump of the vertex array in to a text or binary file so that runtime loading is extremely fast and no other operation than a straight forward memcpy are needed. Mesh loading and saving is a problem for which there is no standard way that is fast, for example Max and editing tools need to know about all information about a mesh, so material, shader, textures and meta data(vertex is connected to which edge, etc.), a game engine doesn't need to know about faces, edges and all kinds of other stuff that is stored in a model file. There for we write our own exporters and importers for the data we care about and make it load fast, one standard format doesn't cover all performances for all engines sadly.
Yep, this one is a big ugly problem(no universal format)... In Blender you can make all faces to consist of only 3 vertices. At least, it could be done in Blender 2.64. If I'm right, then an "triangular faces" -option is responsible for that.