Wonders and districts can only be built on tiles that your city owns, through natural growth or purchasing. If another city in your empire got to that tile first, you can use manual citizen assignment (the citizen head icon in the lower-right of the city overlay) in the destination city to assign a worker to that tile. This should adjust the underlying ownership of that tile and let the newly assigned city build districts and wonders there as well. (Thanks to @Michael Campbell for confirming that this works in Gathering Storm.)
In this case, the hills tile in question was originally claimed by the city of Bristol, so only Bristol can build wonders there; Sheffield cannot. However, the adjacent Industrial Zone district belongs to Sheffield, so Bristol cannot use it to meet the requirements of Ruhr Valley. (Note that the wonder tooltip explicitly requires that the industrial zone belong to the same city as is building the wonder.)
You can purchase a tile with gold if you notice that it's about to be taken by the wrong city and you want to ensure a specific city has that space for districts and wonders.