Season chicken with 1/2 teaspoon salt and 1/4 teaspoon pepper. Heat olive oil in a large skillet over medium-high heat. Add the chicken pieces and cook, stirring occasionally, for about 10-12 minutes until golden brown on each side. Remove to a plate and set aside.
Cook pasta according to the directions on the package. In the last 5 minutes of cooking, add the asparagus to the water. Drain pasta and asparagus, reserving about 1/4 cup of the pasta water. Cut the asparagus into smaller pieces.
Heat butter in a large skillet on medium heat. Whisk in flour and cook 1 minute, stirring constantly, add garlic and cook 30 seconds longer, stirring constantly. While whisking, slowly pour in milk then heavy cream. Whisk vigorously to break up clumps. Season with 1/4 teaspoon salt and 1/4 teaspoon pepper. Bring mixture to a boil, stirring constantly, then reduce heat to medium-low, add Parmesan cheese and cook, stirring frequently, until cheese has melted. Remove from heat.
Toss in cooked pasta. If needed, add reserved cooking water if it's too creamy or dry. Add cooked chicken, asparagus and prosciutto and toss to evenly coat. Serve with additional grated Parmesan, if desired.