- Я был на опере "Травиата", но
- Я был в опере на прошлой неделе.
Коллега утверждает, что первый вариант безграмотен.

Я уверена в своей правоте, но это необходимо подтвердить правилами.
Обратившись к корифеям, нашла следующее:
Ваше мнение?3) При названиях з р е л и щ н ы х о р г а н и з а ц и й и м е р о п р и я т и й установилось такое употребление:
в театре, в кино, в цирке (имеется в виду помещение) -- на концерте, на выставке, на спектакле (имеется в виду исполнение, представление).
http://www.spelling.spb.ru/rosenthal/alpha/r199.htm