Bring a large pot of lightly salted water to a boil. Add penne and cook, stirring occasionally, until tender yet firm to the bite, about 11 minutes.
While pasta is cooking, heat butter and 2 tablespoons olive oil in a large pan over medium heat. Add garlic and cook until fragrant, making sure not to burn, about 2 minutes. Add shrimp, salt, and pepper. Cook for 2 minutes; add tomatoes and capers. Cover and cook over medium-low heat until shrimp are completely pink, about 3 minutes more.
Drain the penne and return it to the empty pot; toss with 1/2 tablespoon olive oil. Keep warm.
Pour 1 inch of water into a pot and add a steamer basket. Bring water to a boil and add asparagus. Cover the pot and steam until al dente, about 3 minutes.
Scoop 1/4 of the spaghetti onto a plate. Add 1/4 of the asparagus and 1/4 of the shrimp mixture, making sure to include the butter sauce as well. Sprinkle with Parmesan cheese and serve with a lemon wedge. Repeat with remaining spaghetti, asparagus, shrimp, Parmesan, and lemon wedges for each serving.