I think you’d need to bundle it all into one function.
$bg_image = get_field('background_image', $post_id);
if (!$bg_image) {
// get the background image from options page
}
$css = "body { background-image: url('$bg_image')!important; }";
wp_add_inline_style( $handle, $css );
But I may be misunderstanding how you’re adding the image that’s part of theme options.