How to sync clock frequency to a microcontroller
The YM2612 data port will work asynchronously to the sound generation clock. The write timing is such that the data is written only on the rising edge of *WR. 

The sequence is this. 

a) The YM2612 is busy doing some sounds generation, according to the control bits in its internal registers. Hundreds or millions of clock cycles pass.

b) A key on your keyboard is pressed. The player's measurement of latency starts now. The Arduino sees it, via interrupt or polling, and then figures out what to send to the sound chip. If you're programming this in C, this could take thousands of Arduino cycles.

c) The Arduino takes 10s or hundreds of its clock cycles loading a 595, using its SPI mechanism would be faster and easier than bit-banging. If you are bit banging in C via the digitalWrite() calls, they can take 10s of clocks each to execute, very slow.

d) Eventually, the Arduino pulls the *WR pin low, and must now wait a minimum time with it low. See the 2612 data sheet for how long it must stay low. It's probably one or two cycles of its clock. 

e) After that minimum delay, (writing it low and immediately high again by digitalWrite() in C will mean that it's low for 10s of Arduino clocks) it pulls it high again, and the 8 bit data finally gets to the YM2612 internal registers. After any internal delay in the 2612, the sound finally changes. The user hears the sound change.

f) Rinse and repeat

You could drive the Arduino from 8MHz if that's more convenient, though don't forget to set what clock frequency the Arduino uses in the loader program.