‘&’ causes an error in my shortcode when I list the content of the page

Your ampersand is getting encoded, try:

get_page_by_title( html_entity_decode( $title ) );