Try escaping the semicolon:
DateTime arrivalDateConfirmed = DateTime.ParseExact(foo, "dd MMM yyyy HH\\:mm", new CultureInfo("it-IT"));
You can find further info here: http://madskristensen.net/post/Quirk-in-the-DateTime-class.aspx.
The explanation is that the ":" character is considered a custom format specifier rather than a literal character, in this case the time separator. The parser will try to convert this separator to the specified culture. In this case the time separator for it-IT is the "." character. You should escape custom format specifier characters if you do not want them converted to the locale equivalent, as explained here: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#escape