Cook spaghetti according to package directions. Drain, and return to pan.
Meanwhile, heat oil in a large, deep skillet over medium heat. Add onion, and sauté 6 minutes or until onion is tender and starting to caramelize. Add oregano, and garlic, and sauté 1 minute longer. Stir in tomatoes, and bring to a simmer. Cover, reduce heat, and simmer 10 minutes.
Stir balsamic vinegar, salt and pepper into sauce. Add shrimp, and cook, stirring frequently, 4 minutes. Stir in spinach, and cook 1 to 2 minutes or just until spinach wilts and shrimp turn pink. Remove from heat, and stir in cooked spaghetti.
Divide evenly among 4 pasta bowls or plates, and sprinkle with cheese and parsley, if desired.