Sometimes (on radio buttons for instance) FieldChange PeopleCode event won’t fire if the component is set to deferred processing and at the field level, the allow deferred processing checkbox is selected.
To always ensure that FieldChange (and other) PeopleCode events fire, leave the allow deferred processing checkbox unchecked for in the page-field settings.
OR
In the component properties, change it to Interactive instead of Deferred.