My '07 328xi had the same thing at 12,ooo miles. They cleared the fault, "fixed" something, sent me on my way. 31 miles later I got the check engine light again. The next day they replaced some part and the tank vent valve fault has stayed away so far.
They didn't reprogram anything on my car other than to reset the fault so the CE light was not on anymore.
'16 - 435 x-drive coupe, '14 528x-drive, '07 M6 (I am a sequential BMW hoarder)