update_option is not saving an array, but saving the string ‘Array’

It sounds like your array isn’t being serialized before updating the option for whatever reason. Perhaps due to ajax or just your particular situation.

Try this:

// ...

$option[ 'apps' ][] = $new_app;

if( ! is_serialized( $option ) )
    $option = maybe_serialize( $option );

$data = update_option( 'vm_fbconnect', $option );

// ...