We consider a dynamic problem of joint pricing and production decisions for a profit-maximizing firm that produces multiple products. We model the problem as a mixed integer nonlinear program, incorporating capacity constraints, setup costs, and dynamic demand. We assume demand functions to be convex, continuous, differentiable, and strictly decreasing in price. We present a solution approach which is more general than previous approaches that require the assumption of a specific demand function. Using real-world data from a manufacturer, we study problem instances for different demand scenarios and capacities and solve for optimal prices and production plans. We present analytical results that provide managerial insights on how the optimal prices change for different production plans and capacities. We extend some of the earlier works that consider single product problems to the case of multiple products and time variant production capacities. We also benchmark performance of proposed algorithm with a commercial solver and show that it outperforms the solver both in terms of solution quality and computational times.