If the rate were obviously a mistake, perhaps with one of the digits missing (such as $40 per night when other rooms are $300 to $600 per night), and the hotel caught the error quickly, then I could see being told it's an error, and accepting that.
However a rate of $272 per night in Mexico City is not an obvious mistake. And "several months" is a long time. By now, room categories or promotional rates at other hotels are likely to have changed or sold out.
You booked the rate in good faith. Either the hotel needs to honor the rate, or Marriott/Starwood corporate needs to pay the difference to the hotel. In either case, the rate needs to be honored.