In a large pot of boiling salted water, cook the linguine until al dente. Drain, reserving 1 cup of the cooking water.
Meanwhile, in a bowl, combine 3 tablespoons of olive oil with the garlic, thyme and marjoram. Add the chicken; season with salt and pepper and toss.
Heat a large skillet. Add the spinach and cook over moderate heat, stirring, until wilted. Transfer to a colander and drain well. Wipe out the skillet.
Heat the remaining 1 tablespoon of olive oil until shimmering. Add the chicken and marinade. Cook over moderately high heat until just cooked through, about 3 minutes. Toss in the spinach.
Return the pasta to the pot. Add the chicken, spinach, Asiago, Fontina and half of the Parmesan. Add 3/4 cup of the reserved water. Cook over low heat, tossing, until creamy, 1 minute; add more water if needed. Season with salt and pepper. Transfer to a bowl, sprinkle with the remaining Parmesan. Serve.