Preheat the oven to 350 degrees Fahrenheit. Prepare the bundt pan with olive oil or non-stick spray. Coat the inside of the pan with a dusting of flour and cinnamon. Set aside.
With a hand mixer, mix together the olive oil, eggs, granulated sugar, brown sugar, and vanilla until fully combined.
Add the sour cream and mix until combined. Then, add the baking soda, baking powder, cinnamon, ginger, and nutmeg. Gradually add the flour as you mix the ingredients. Use a spatula to scrape the sides.
Pour the batter into the bundt pan, making sure it's evenly dispersed. Bake in the oven for 45 minutes, though depending on the oven it could take anywhere from 40-50 minutes. The cake will be done if you stick a toothpick in it and it comes out mostly clean but with a few crumbs. You do not want any wet batter still on the toothpick.
Allow the cake to cool for about 10 minutes before transferring it to a plate or cake stand. To transfer it, place it upside down on a plate. If the cake needs some coaxing to be released, use a butter knife to gently press between the cake and the pan. Work your way around the cake to help loosen the cake from the pan. It should easily come out of the pan.
To make the caramel cream cheese frosting:Mix together the cream cheese, butter, vanilla extract, and caramel sauce. Once creamed together, gradually add the powdered sugar. Finally, add the heavy cream or milk one tablespoon at a time until it reaches the desired consistency. To have more of a glaze or thinner frosting, add 1/4 milk. For thicker frosting, add less. Wait until the cake is cooled completely before topping it with frosting.