There are 3 ways to provide selection list values that is accepted by OpenERP:
Specifying directly in the field.selection definition: 'field_1': fields.selection([('value1', 'String 1'), ('value2', 'String 2')], 'Field Label')
Specifying using a name list variable outside of the field.selection definition: 'field_1': fields.selection(LIST_VARIABLE, 'Field Label'). Where LIST_VARIABLE is defined beforehand: LIST_VARIABLE = [('value1', 'String 1'), ('value2', 'String 2')]
Specifying using a method: 'field_1': fields.selection(_method_name, 'Field Label'). Where _method_name is defined beforehand:
def _method_name(self, cr, uid, context=None):
return [('value1', 'String 1'), ('value2', 'String 2')]
Now, you need to check first which one is your current selection field is. If it is using method No. 1, then you need to redefine it to use either method No 2 or method No 3. If it is using method No. 2 or 3, you just need to change either the variable (you can use LIST_VARIABLE.append(('value3', 'String 3'))) to return the new value.