Roast the chiles de agua and tomatoes on a baking sheet 4 inches below a very hot broiler until blackened on all sides, about 10 minutes. Cover the chiles with a kitchen towel and let stand 5 minutes. Peel, pull out the stem and seed pod, then rinse briefly to remove bits of skin and seeds. Slice into 1/4-inch strips. Cool the tomatoes, peel (reserving any juices) and coarsely puree in a large mortar, food processor or blender.
In a large (10-inch) skillet over medium-high, heat 1 tablespoon of the oil. Add the onion and cook until it is lightly browned, about 7 minutes. Stir in the chile, then add the pureed tomatoes and cook, stirring regularly, until the sauce reduces to a thick mass, about 5 minutes. Stir in the broth and epazote (if using cilantro, add it later, along with the salt) and simmer, partially covered, for about 10 minutes. Thin with additional broth, if necessary, to bring the sauce back to a brothy consistency. Taste and season with salt, usually a generous 1/2 teaspoon (and cilantro, if you are using it), and keep warm over low heat.
In a bowl, lightly beat the eggs with 1/4 cup water and 1/2 teaspoon. Heat a very large (12-inch) non-stick or well-seasoned skillet over medium-high. Pour in 1 tablespoon of the oil, wait a few seconds for it to heat, then add the egg mixture. Gently roll the egg mixture around until it evenly covers the bottom of the skillet. Peel the cooked edges away from the skillet, as the middle cooks and sets, and roll into a large omelet. Gently slide the folded omelet onto a serving platter.
Ladle the brothy tomato sauce over the omelet. Sprinkle with crumbled cheese and garnish with epazote or cilantro and carry to the table.