Grease a 9x13-inch baking dish with cooking spray or butter.
In a large bowl, whisk together eggs, milk, salt, pepper, and oregano until well combined.
Add cubed bread to the prepared baking dish and spread evenly.
Distribute the squeezed-dry spinach, garlic, feta cheese, and mozzarella evenly over the bread cubes.
Pour the egg mixture over everything, making sure to coat all the bread. Press down gently to help the bread absorb the liquid.
Cover with plastic wrap and refrigerate for at least 2 hours or overnight (this step is important for the best texture!).
To freeze: Cover tightly with plastic wrap and then aluminum foil. Freeze for up to 3 months. Thaw overnight in the refrigerator before baking.
To bake: Preheat oven to 350°F. Remove plastic wrap and cover with foil. Bake for 30 minutes, then remove foil and bake for an additional 15 minutes until golden brown and set in the center.
Let stand for 5 minutes before cutting and serving.