After Cannae, Hannibal needs just another huge field victory to leave Rome essentially without a field army in Italy at all for a while.
However, the matter becomes political then, as Hannibal probably cannot win a siege swiftly and the Romans still have a recruitment pool left (and they can recall forces from overseas), while Hannibal would have a hard time to replenish his army's losses with troops from Italic defecting cities (which were markedly unwilling to provide that to him IOTL). So, Rome could still simply outwait Hannibal even if keeping losing armies to him, in principle, at least to a point.
The question is whether Roman political will to resist Hannibal collapses before he's no longer able to score major field victories due to attrition. Arguably, a couple more Cannae like-victories might make the political pressure to seek an accomodation very strong, although it's probably also the maximum that Hannibal can get unless loyalties in Italy seriously begin to switch to him.