Yes you can, but it is dependent on your expectations. Marlin 3d printer firmware has the basics for CNC. It has G0 G1 G2 and G3 commands. With those you can make a milling machine do just about anything you want. All you have to do in Marlin is turn off some of the 3D printer specific stuff, like the stuff that prevents running until the bed and hot-end get to temp. You can try it out on your 3d printer just by disabling these in firmware.Can you run a CNC off of arduino and RAMPS?
Again, it depends on expectations. If you only ever want to run a G-code file generated by CAM, then Marlin and ramps can work. If you ever want to hand program then things that are missing like canned cycles can be problematic.
Also, the ramps boards use A4988 or DRV8825 drivers which may not be up to task for a larger machine. Doesn't mean you can't use the ramps, just means you may have to pick off the step an direction signals from the ramps board to send to lerger stepper drivers.
I am actually planning on switching my smaller CNC milling machine that currently has GRBL running larger external stepper drivers over to using an Arduino mega 2560, ramps board and external drivers so that I can use it both as a milling machine and as a 3D printer. I would run the machine from a laptop in either case but there is no reason it could not be run headless using the 3d printer style LCD and SD setup. The machine currently uses GRBL with a user interface that I wrote myself on a laptop. I would simply modify my interface so that it works with the marlin firmware for milling, and then I would use one of the PC based 3d printer interfaces for 3d printing. Something like the older versions of CURA that can talk to marlin directly. There isn't a reason you can't use another 3d Printer firmware, but Marlin is what I use on my current 3d Printer and marlin also has helical interpolation on G2 and G3 moves.
There are a few things that would be beneficial, but may be able to be done on the ramps too. The CNC shields have the ability to control the spindle, but in my case I have not used this anyway. The CNC shield can turn the spindle on and off and even control spindle speed through PWM. Right now I just turn my spindle off and on manually and that works fine. Controlling the spindle through software has the benefit of being able to start a run and walk away letting the machine complete the job and the spindle will shut off automatically. Same goes for coolant if running a metal cutting machine like I do. Like I said I don't use those features at this time. I tend to just start a job and then do something else in the shop while the job is running and I check on it occasionally. I personally don't like to leave machines running unattended. That may change, but for now is how I operate.Any advantage to using RAMPS vs a CNC Sheild?
Here are a few links of videos I have found with cutting CNC code being run on ramps or 3d printer firmware.